home *** CD-ROM | disk | FTP | other *** search
-
- A directory utility by Don Schmidt
-
- Atree v1.3 -- May 25, 1989 -- Copyright 1989 (pending)
-
- This version of Atree supercedes version 1.1 and contains a great many of
- the "Future Enhancements" listed at the end of the DOC file accompanying
- that version. However, most of the new routines have been rendered non
- functional in this version -- you will have to become a registered user to
- obtain the fully functional version of Atree v1.3.
-
- Atree is "freeware" at this time. It may be freely distributed, but not
- sold, by anyone. If you acquire the program and like it, please support
- the author and become a registered user by sending $20 to:
-
- Don Schmidt
- 9425 Stanfield Ct.
- Stockton,
- California. 95209
-
- A fully functional version of Atree v1.3 will be returned to you. If you
- wish, include a phone number or User ID number and I will upload the
- functional version to you.
-
- Registered users will be entitled to one free version update and to
- reduced rates on all subsequent versions.
-
- Atree has no warranty or guarantee. The author assumes no responsibility
- whatsoever for any effects, good or bad, that Atree may have on hardware
- or software.
-
- No portion of this program was intentionally designed by its author to do
- any damage to hardware or software or to cause any destruction or
- distortion of any data, i.e., it contains no intentional trojan horses or
- viruses of any kind. However, the author advises that caution be used with
- versions of the program not received directly by registered users from the
- author.
-
-
- About Atree:
-
-
- Atree is a disk utility which imitates similar utilities widely available
- on IBM compatibles (PC Tools, XTree, QuickDos, etc.). The intent is to
- allow the user a graphic representation of the entire (or any portion of
- the entire) directory structure on a disk device, including the files in
- each directory, and the capability of moving quickly through the "tree" to
- a directory to access its files for purposes of copying, deleting, moving,
- viewing, editing, etc.
-
- Atree currently supports and will read into memory a directory tree that
- has a maximum depth of 65536 directories and no more than 65536
- subdirectories total for the entire tree. (This is because Atree currently
- supports a spreadsheet type matrix of 65536 columns, each column
- representing the subdirectories of a parent directory and 65536 rows
- representing a directory with the first of its children directly to the
- right of it, and only a total of 65536 rows currently supported). It is
- not known how the program will behave if the total number of directories
- in a tree exceeds 65536 or if the depth of the tree exceeds 65536
- generations.
-
- Although Atree can support a maximum depth of 65536 directories not to
- exceed 65536 files total in all directories for display purposes, it can
- only support a maximum depth of 512 directories for purposes of deleting,
- moving, copying, pruning, and grafting, or using any other function
- requiring a LOCK on a directory. Additionally, there are more stringent
- limitations involved in the use of the "Replace from here" and similar
- routines (see the descriptions of such functions below under the "Tree
- Menu").
-
-
- Atree Instructions:
-
-
- NOTE: If you are a first time user of Atree and do not have a file called
- Atree.Config in your s: directory, then running Atree will result in a
- requester indicating Failed: Object not found. Select CONTINUE and Atree
- will continue to load and intialize without problem. You should set up
- your config file during your first session; see instructions for the
- CONFIG menu below.
-
- If you are a user of a previous version of a Atree and are using this
- version for the first time, it is recommended that you delete or move the
- Atree.Config file from your s: directory and redefine your configs on your
- first run of this version.
-
-
- Running the program.
-
-
- Atree Operates only from the CLI. The general format of the command
- should be:
-
- "run atree pathname pathname pathname ......".
-
- Examples:
-
- run atree df0: df1: dh0: ram: df1:utilities df1:pictures/flowers
-
- The above reads into memory six trees. The first four will be read from
- the ROOT directory of the indicated devices, and the last two will be
- trees read from the indicated subdirectories of the indicated devices.
-
- run atree dh1: dh1:c_sources dh1:c_objects
-
- The above reads into memory the three trees from the same device, dh1:
- The first tree will be the entire tree starting with the ROOT directory,
- and the second and third will be the subtrees starting with the c_sources
- and c_objects directories respectively.
-
- run atree df0: df0: df0:
-
- The above reads into memory the entire tree of df0: three times -- no
- good reason for doing it, but it can be done.
-
- run atree volume_1: volume_2: volume_3:
-
- The above reads the entire tree starting from the ROOT directory of three
- disks whose volume names are as indicated. The system will prompt you to
- insert the volume in any drive if not already inserted. A two drive system
- can thus be used to read into memory the directory trees of more than two
- disks and as many as the system's memory will support.
-
- run atree
-
- The above command line has no arguments and therefore atree will read
- into memory the entire subtree starting from the current directory
- specified for the operating system.
-
- Reading into memory only the parts or sections of a directory tree may be
- the desirable course if you are using a hard disk that has extensive
- directories and you only intend to use two or more small portions of the
- entire tree.
-
- As many pathnames may be entered as the command line will support (Total
- of 255 characters).
-
-
- Moving around in the directory and files:
-
-
- The currently selected directory tree is shown in a large box at the left
- of the screen under the word "DIRECTORY:". This box can be thought of as a
- window to a larger box containing the entire tree. The entire tree can be
- thought of as represented on a large spreadsheet with 65536 rows and 65536
- columns. In this spreadsheet, a tree is formed which graphically
- represents parent, child and sibling relationships between directories.
- Children of the same parent (siblings) will all be in the same column; the
- parent of any directory is always in the column to the left, and the
- children of any directory are always in the column to the right. Line
- segments between directories show how they are related. The directory box
- at any moment displays up to five generations (columns) of directories,
- and up to sixteen rows.
-
- You may use either the mouse pointer in combination with the left mouse
- button, or the UP, DOWN, RIGHT, and LEFT arrow keys to scroll the
- directory "window" to display different sections of the whole tree
- spreadsheet, as explained below.
-
- To the right of the directory box is another box just under the word
- "FILES". This box lists up to sixteen files in the currently highlighted
- directory. You may use either the mouse pointer in conjunction with the
- left mouse button, or the shifted UP and shifted DOWN arrow keys to scroll
- through the entire list of files in the currently highlighted directory,
- as explained below.
-
- On the display screen, there will always be one directory and one file
- that are highlighted. The highlighted file or directory is understood to
- be the "argument" or "object" of the various commands you can select from
- the keyboard or menus.
-
- Only the first eight (8) characters of directory names are shown in the
- directory box; the full name of the currently highlighted directory is
- displayed to the right of the word "DIRECTORY:" above the directory
- display box.
-
- Only the first twenty-five (25) characters of file names are displayed in
- the FILES box. To see the full file name, select the RENAME/FILE option
- from the ATTRIBUTE menu.
-
- Cursor keys alone move the highlighter in the directory box. Shift/UP
- Shift/DOWN move the highlighter in the files box.
-
- Click left mouse button on any legitimate directory or file and
- highlighter will move to it, skipping over anything between.
-
- Hold left mouse button down and move pointer, highlighter will follow it.
-
- Clicking or holding the left button down with pointer close to the edge
- of either the directory or files boxes will cause display to scroll if
- there is anything to scroll to.
-
- The pointer with button held down functions according to the same rules
- as the cursor keys, no matter where on the edge of the screen the pointer
- is located. The position of the highlighter is what's important. Thus, if
- the highlighter is on a directory at the lower edge of the box and the
- directory has no entries in the same column below it, then no matter where
- you hold the pointer at the lower edge of the box, no scrolling will
- occur. But if you move the highlighter to a directory that does have
- entries in the same column below it, then no matter where you hold the
- pointer along the lower edge of the directory box, it will scroll.
-
- Atree also allows you to mark your place at up to three directories in
- any tree and to return to a marked place from any tree (See the
- description of the functions in the Directory Menu below).
-
- Tag files: Files in a directory can be tagged. The tagged files
- constitute a group that can be operated on as a unit for purposes of
- copying, moving, deleting, archiving, etc. To tag a file, move highlighter
- to file and press space bar (Directories can't be tagged). Once tagged,
- files remain tagged until an operation is performed on them. You thus may
- move to another directory to perform other operations and return later to
- the directory containing tagged files and the files will still be tagged.
- Tagged files are marked with the ">" symbol immediately to their left. You
- may remove the tag from a file by placing the highlighter over the file
- and pressing the space bar.
-
-
- Using the Atree menus:
-
-
- Tree Menu:
-
-
- Read next: changes the currently displayed directory tree by rotating
- through directory trees previously read into memory. Thus, if you have
- read into memory df0:, df1:, and dh0:, then selecting this option will
- cause the "next" tree to be displayed; "next" is determined by the
- currently displayed tree and the order in which the trees were read into
- memory, which, in turn, is determined by the order in which you entered
- the names on the command line.
-
- Get (replace): replaces currently displayed tree with a new one you
- specify.
-
- Get (new): reads into memory a new tree you specify and displays it. This
- will be a new tree in addition to the others currently read into memory.
- The user can thus read into memory a number of trees limited only by
- available memory after the program has been activated.
-
- Delete: Deletes the currently displayed tree. (You can't delete the last
- or only tree -- there must always be at least one tree).
-
- Info: Displays disk info, like how many bytes and blocks are free. Note
- that floppy 3.5 inch disks have 512 bytes per sector, but 24 of these
- bytes are reserved by the system. Therefore, the correct number of bytes
- usable by the user is 488 bytes per block multiplied by the total number
- of blocks available, and that is the figure used here. Also note that 512
- bytes per block are usable on hard disks.
-
- Show Memory: Displays total CHIP and FAST memory available.
-
- Set Max Depth: This option gives Atree some real flexibility. It allows
- the user to specify the depth to which any subsequently specified tree
- will be read. A depth of 0 means no depth is specified and Atree will read
- all directories it can. A depth of one (1) means only the subdirectories
- and files of the specified starting directory for the tree will be read.
- By specifying a depth of one (1), and by using a combination of the
- options "Replace from here" and "Add from here", the user can weave his
- way into a disk directory system one layer at a time. There may be a very
- real time savings by using this method. The current setting of the Max
- Depth variable is saved to the Config file described below. From that
- point on, Atree will use the setting in the Config file upon running the
- program. In addition, the functions "Read back (add)" and "Read back
- (replace)" allow the user to weave his way back out of a disk directory
- system.
-
- Replace from here: This option replaces the currently displayed tree with
- a new one that starts with the highlighted directory. Used in conjunction
- with a Max Depth setting, the user can penetrate only those portions of
- the directory that are of interest as an alternative to reading the entire
- tree.
-
- Add from here: This option functions the same as the "Replace from here"
- option described above, except that a new tree is created and becomes the
- displayed tree; the old one still remains.
-
- Read back (add): Allows the user to "back up" in a tree. For example,
- suppose you have just read your way into a directory such that your
- currently displayed tree represents everything from a depth of 15 to 18
- from a particular directory and that your maxdepth for reads is set at 3.
- Selecting this option will cause the reading of a new tree. The new tree
- will be derived by selecting the parent's parent's parent of the old
- tree's top directory and use the path to that new directory as the basis
- for reading the newly added tree to a depth of three. In other words, from
- the top directory, we "back up" maxdepth levels in the top directory's
- direct line of descent and then read from that ancestral directory to a
- depth of maxdepth.
-
- Read back (replace): Functions the same as "Read back (add)" except that
- the new tree replaces the old tree.
-
- NOTE: The four options starting with "Replace from here" create a
- directory path string representing the complete path specification of the
- currently highlighted directory -- the tree is then read just as though
- the user had typed the path on the CLI command line on running Atree. The
- size of this string is limited to 2048 characters. These functions
- therefore can support a minimum depth of about 51 directories (if each has
- a 40 character name), and a maximum of about 1000 or so directories (if
- each is assumed to have a one character name). This should be quite
- sufficient for nearly all applications.
-
- Attribute Menu:
-
-
- Note: Allows FileNote on highlighted directory/file.
-
- Protection: Allows change of protection status on highlighted directory/
- file.
-
- Rename: Allows renaming of highlighted file/directory.
-
- In all of the above cases, you can select the attribute from the menu to
- see or view the current specification and, if you wish, you can click on
- the string gadget to alter the current specification.
-
- Directory Menu:
-
-
- Delete: deletes all files in highlighted directory and deletes directory
- if there are no subdirectories. NOTE: This routine ignores delete
- protection -- the user must be sure that none of the files in the
- directory are wanted.
-
- Make: creates a subdirectory in the highlighted directory.
-
- Mark Destination: Highlighted directory becomes the target or destination
- directory for MOVE and COPY functions. Any function requiring a target
- will not work unless a MARK is set.
-
- Show Destination: In case you have forgotten which directory in which
- tree you have selected, this option will tell you. You will however only
- get an abbreviated representation of the complete destination path
- specification; you will be given the name of your "tree top" (what you
- specified in order to read this tree) and the name of the directory that
- is marked as the destination (There may, of course, be more than one
- directory with the same name in a given tree, so be careful about your
- assumptions). The complete destination path specification is not given for
- the simple reason that Atree supports up to a depth of 65536 directories,
- each of which can have a name up to 40 characters long -- that represents
- a string of 2,621,440 characters!
-
- Goto Destination: Select this and your destination directory will be
- displayed and highlighted in the upper left corner of the display box.
-
- Place Mark: Atree allows you to set up to three place markers. The
- highlighted directory is marked so that it may be subsequently returned to
- from any tree or directory.
-
- Goto Mark: If a place mark has been set, selecting the goto option (1, 2,
- or 3) corresponding to it will cause the marked directory to be displayed
- and highlighted in the upper left-hand corner of the directory display
- box.
-
- Prune: Selecting this option will delete all files and sub directories in
- the currently highlighted directory. The highlighted directory will also
- be deleted. This function is like cutting a complete branch from a tree.
- The function may not do a complete job of pruning if for any reason files
- and directories cannot be found or deleted. The prune function will, in
- other words, prune whatever it can. NOTE: The prune function will delete
- even delete protected files and directories without question or warning.
- Therefore, the user must make sure none of the files or directories in the
- branch to be pruned are wanted.
-
- Graft: This function copies what it can of the branch from the currently
- highlighted directory to the currently marked destination. The graft
- function can be used to copy an entire disk to a blank disk or to ajoin an
- entire tree to a marked destination in another tree or in the same tree.
-
- NOTE: It is the user's responsibility to make sure that the branch
- represented by the currently highlighted directory is not a sub branch of
- the branch represented by the currently marked destination. Grafting a sub
- branch to any branch of which it is a part will likely result in an
- endless recursion until either all memory or disk space is used.
-
- Bytes in tagged files: A requester will display the total bytes in all
- files tagged in the currently highlighted directory.
-
- File Menu:
-
-
- Copy, Move and Delete highlighted, tagged, or all files in currently
- highlighted directories; choices should be obvious.
-
- Archive: Use the Configs menu (see below) to specify the path to your
- favourite archive utility. Then select "Archive" highlighted/tagged/all
- from the FILE menu. You will be presented with a requester asking you to
- "Enter ARC arguments:". You should enter everything here that you want to
- be added to your path spec for your archive utility, except the filename -
- - this will be added automatically by Atree. The filename added by Atree
- depends on whether you selected highlighted, tagged, or all.
-
- To make the above clearer with an example:
-
- Suppose you entered "dh2:utilities/arc" as your path spec in the Configs
- menu for your Archive selection. Suppose you now select
- Archive/highlighted from the FILE menu. You get the requester asking you
- to enter arc arguments. Suppose you enter here, "a newarc". Suppose your
- highlighted file name is "this_file". What will happen now is that Atree
- will execute the command line:
-
- run dh2:utilities/arc a newarc this_file
-
- For my particular version of ARC, the above command line will create an
- archive file, newarc.arc, in the current (highlighted) directory (if it
- doesn't already exist) and then will add "this_file" to it.
-
- Selecting "tagged" or "all" instead of "highlighted" will result in the
- above command line being executed over and over for all appropriate files.
-
- Execute: Executes the highlighted file with the RUN command; a command
- tail is requested via a requester and is optional.
-
- Text reader, editor, word processor, IFF displayer and sector editor
- should be obvious, but will not function unless first specified by
- selecting CONFIGS menu. If specs are made in the CONFIGS menu, the program
- specified will execute with the RUN command and with the highlighted file
- as the command tail.
-
- NOTE: It is obvious that the user may alter a directory tree or a file in
- many ways without the memory copy of the tree or file list being
- correspondingly changed. Therefore, through the use of text editors, word
- processors, archive utilities, etc. your memory copy of a tree as
- displayed by Atree at any moment may not correspond to the disk it is
- supposed to represent. The user is advised to update the tree by re-
- reading it using the "Get (replace)" option from the TREE menu. Use the
- same path specification to update your displayed tree to keep it in
- correspondence with the disk it represents.
-
- Configs Menu:
-
-
- Set Path: A requester allows user to specify a path leading to a text
- reader, editor, word processor, IFF display program, or sector editor (or
- of course any program specified). To use the requester set mouse pointer
- on selection, press left mouse button; if a specification was previously
- set, it will now appear in the string gadget at top of requester,
- otherwise it will be blank. To make new specification, set mouse pointer
- on string gadget, press left mouse button and enter text -- press RETURN.
- When the corresponding selection is made via the FILE menu, the specified
- program will be executed with the RUN command and with the highlighted
- file as the command tail.
-
- Thus, suppose you select "Text Reader" and in the string gadget you enter
- "dh2:utilities/blitz". When you now go to the FILE menu and select "Text
- Reader", Atree will execute the following command line:
-
- run dh2:utilities/blitz <filename>
-
- where <filename> is the currently highlighted file.
-
- Save: Saves the currently specified paths to text reader, editor etc.
- Current colours are also saved. To change colours, use the TREE menu and
- select "Get new" and specify a path that includes a directory containing
- Preferences. Then select Execute from the FILE menu. Change your colours
- with Preferences. Quit Preferences and then select Save from the CONFIG
- menu. The new colours, along with any other specifications you have made
- will be saved. The file, Atree.Config, is created in the directory
- specified by the s: assignment. If you are a first time user of Atree, and
- the Config.Atree file does not exist, you will get a prompt upon running
- Atree telling you "object not found", click on "continue" and the program
- will proceed with its initialization. Set up your config file per the
- above instructions for future running. The "Save" option will also save to
- the config file the currently specified "maxdepth" setting. See the "Set
- max depth" option of the "Tree Menu" above.
-
- Search Menu:
-
-
- String: Allows definition of search string specification for searching
- through trees for directories, or for searching through directories for
- files, or for searching through all files in all directories in a tree for
- a matching file. The definition string may contain any of the following
- special meaning characters:
-
- ? matches any single character
-
- * matches zero or more occurrences of characters
- identical to the character preceding the "*"
-
- + matches one or more occurrences of the
- preceding character
-
- \? matches a question mark (?)
-
- \* matches an asterisk (*)
-
- \+ matches a plus sign (+)
-
-
-
- Example Matches
-
- a??x abyx, agtx, a56x, etc.
-
- a*x x, ax, aax, aaax, etc.
-
- a?*x ajax, abthgnfdhrrhtlo666x, etc
-
- a+x ax, aax, aaax, etc.
-
- a\?x matches only "a?x"
-
- a\*x matches only "a*x"
-
- NOTE: The search string you specify will be converted to lower case and
- during the search process the compare string (a directory or filename) is
- converted to lower case so that all searches are therefore case
- insensitive. Also, note that a match is considered to exist if your string
- is determined to match only the beginning of any compare string. Thus,
- "abc" will match "abcdef" and "abctuq", etc.
-
- Tree:
-
- From Top: Searches from the top of the currently displayed tree for a
- directory matching the pattern specified through selecting "string" above.
- Display moves to the found directory. The search is always made downward
- in the display column before moving to the next column to the right.
-
- From Here: Same as above, except the search begins with the next
- directory down in the same column as the highlighted directory.
-
- Directory:
-
- From Top: Searches from the top of the currently highlighted directory
- for a file matching the pattern string. Search stops at end of list of
- files belonging to the highlighted directory. Display moves to found.
-
- From Here: Same as above, except search begins with the file next down
- from the highlighted file.
-
- All Files:
-
- From Top: Searches all files in current tree irrespective of directory
- for a file matching the pattern string. Search starts at top. Display
- moves to found.
-
- From Here: Same as above, except search begins with next file down from
- the currently highlighted file.
-
- Sort Menu:
-
-
- The options in this menu should be clear -- the user can sort the
- highlighted directory's files by name, size, or date, and can sort the
- entire currently selected tree's files in all of its directories by name,
- size, or date.
-
-
- Keyboard operation
-
-
- To the right of most menu choices is a key description to allow the
- function to be accessed from the keyboard instead of the menus. Capital
- letters indicate of course that the SHIFT key is to be pressed
- simultaneously to execute the function. F10 refers to SHIFT/function key
- #10; f10 is unshifted function key. the "^" symbol refers to the CONTROL
- key and must be pressed simultaneously with the indicated key.
-
- The table below outlines the menu selections and the corresponding
- keyboard selections:
-
- TREE MENU
- Read next Esc
- Get (replace) =
- Get (new) +
- Erase -
- Info i
-
-
- ATTRIBUTE MENU
- Note/file n
- Note/directory N
- Protext/file p
- Protect/directory P
- Rename/file r
- Rename/directory R
-
-
- DIRECTORY MENU
- Delete (no key)
- Make (no key)
- Mark Destination (no key)
- Show destination (no key)
- PlaceMark 1 !
- PlaceMark 2 @
- PlaceMark 3 #
- GotoMark 11
- GotoMark 22
- GotoMark 33
- Prune (no key)
- Graft (no key)
- Bytes in Tagged Files (no key)
-
-
- FILE MENU
- Copy/highlighted c
- Copy/tagged C
- Copy/all ^c
- Delete/highlighted d
- Delete/tagged D
- Delete/all ^d
- Move/highlighted m
- Move/tagged M
- Move/all ^m
- Archive/highlighted a
- Archive/tagged A
- Archive/all ^a
- Execute f1
- TextReader f2
- TextEditor f3
- WordProcessor f4
- IFFDisplayer f5
- SectorEditor f6
-
-
- CONFIGS MENU
- SetPaths s
- SetBuffer S
- Save ^s
-
-
- SEARCH MENU
- String (no key)
- Tree from top t
- Tree from here T
- Directory from top v
- Directory from here V
- Filelist from top f
- Filelist from here F
-
-
-
- Future Enhancements:
-
-
- The following enhancements to the program are in process and will be
- included in future revisions:
-
- 1. The graft function will include a routine to determine if the user is
- requesting to graft a sub branch of the destination branch to itself and
- abort the request if true.
-
- 2. Allow user to abort copy, move, delete, prune, graft operations.
-
- 3. Update memory copy of disk tree by:
-
- a. Allowing user to re-read files in a single directory.
-
- b. Automatic check and update of files for ARC, Text Editor, etc.
-
- 4. Allow moving and copying files with preservation of original
- datestamp.
-
- 5. Do auto check before move and copy to see if there is enough disk
- space.
-
- 6. Allow copy, move, delete to/for a directory specified by the user via
- a requester; user should not always have to read a tree into memory in
- order to copy, move, delete files from it.
-
- 7. Provide support for more utilities to be specified in the CONFIGS menu
- (zoo, pak, etc.).
-
- 8. Allow use of Atree from the Workbench.
-
- 9. Allow user to set a filespec for display, e.g. display only files with
- ".doc" extension, etc.
-
- 10. Develop disk formatting and sector editing routines.
-
- 11. Allow copy, delete, move, format, prune, and graft routines to be run
- as separate processes so that while they are occurring, the user will be
- able to do other things with Atree.
-
- 12. Develop a friendlier and easier to use keyboard operation system that
- more closely parallels the menu system -- thus, for example, pressing "t"
- followed by "e" would do the same job as selecting the "Erase" option of
- the "Tree" menu, and pressing the f, c, and t keys in succession would
- copy tagged files to the destination directory (Files menu, Copy menu-
- item, Tagged subitem).
-
- 13. Design Atree with its own screen instead of attaching its window to
- the Workbench screen, as it presently does.
-
- 14. Design the program to function in interlace mode so that user may
- view larger portions of the directory and file display boxes.
-
- 15. Design the program so that the user can alter the window size and the
- sizes of the directory and files boxes will automatically adjust to the
- new size.
-
- 16. Beautify and fancify the requesters and displays to lend a little
- quality and sophistication to the program.
-